package DatagramPlusPlus;


import javax.lang.model.type.UnknownTypeException;


public class DatagramType {

    public static final byte INIT       = 1;
    public static final byte INIT_REPLY = 2;
    public static final byte KEEP_ALIVE = 3;
    public static final byte DATA       = 4;
    public static final byte KILL       = 5;

    private static final byte MAX = 6;

    private byte tipo;

    DatagramType(byte tipo) throws UnknownTypeException {
        System.out.print("Criando pacote do tipo ");
        switch(tipo)    {
            case INIT:
                System.out.println("INIT.");
                break;
            case INIT_REPLY:
                System.out.println("INIT_REPLY.");
                break;
            case KEEP_ALIVE:
                System.out.println("KEEP_ALIVE.");
                break;
            case DATA:
                System.out.println("DATA.");
                break;
            case KILL:
                System.out.println("KILL.");
                break;
        }
        setTipo(tipo);
    }

    /**
     * @return o tipo do pacote
     */
    public byte getTipo()    {
        return tipo;
    }

    public final void setTipo(byte tipo) throws UnknownTypeException {
        if(tipo < 1 && tipo >MAX) {
            UnknownTypeException TipoIndefinido = new UnknownTypeException(null, tipo);
            throw TipoIndefinido;
        }
        this.tipo = tipo;
    }
}
